package cn.zswltech.gruul.biz.service;

import cn.zswltech.gruul.biz.support.service.IService;
import cn.zswltech.gruul.common.dto.*;
import cn.zswltech.gruul.common.result.Response;
import cn.zswltech.gruul.common.entity.FunctionDO;

import java.util.List;
import java.util.Map;

public interface FunctionService extends IService<FunctionDO> {

    Response updateFunction(FunctionDO menuDO);

    Response deleteFunction(Long id);

    FunctionDO queryById(Long id);

    Response<List<FunctionDO>> getFunctionList();

    Response<Map> createFunction(FunctionDO functionDO);

    Response<List<FunctionDO>> queryByMenuId(Long menuId);

    FunctionDO queryByCode(String code);


    List<FunctionInfo> underMenuFunctionList(UnderMenuFunctionListREQ req);

    void underMneuFunctionAdd(UnderMenuFunctionAddREQ req);

    void underMenuFunctionUpdate(UnderMenuFunctionUpdateREQ req);

    void underMenuFunctionDel(UnderMenuFunctionDelREQ req);
}
